package org.seedltd.upms.model.sys.vo;

import lombok.Getter;
import lombok.Setter;
import org.seedltd.upms.constant.GlobalConst;

import java.util.List;
import java.util.Set;

/**
 * 用户菜单主键
 *
 *
 * @author laizuan
 * @since 2020年03月13日 10:47
 */
@Setter
@Getter
public class UserMenuVO {

    /**
     * 前端路由地址
     */
    private String url;


    /**
     * 组件路径
     */
    private String componentPath;


    /**
     * 菜单主键
     */
    private Long menuId;

    /**
     * 路由元数据
     */
    private MenuMetaVO meta;

    /**
     * 当设置 true 的时候该路由不会在侧边栏出现
     */
    private boolean display;

    /**
     * 路由的名字，通关该字段和前端路由关联
     */
    private String routerName;

    private List<UserMenuVO> children;

    public UserMenuVO(){}
    public UserMenuVO(SysMenuVO sysMenu, boolean affix, Set<String> permissions) {
        this.setMeta(new MenuMetaVO(sysMenu.getMenuName(), sysMenu.getIcon(), GlobalConst.NO.equals(sysMenu.getNoCache()), affix,
            sysMenu.getI18n(), permissions, sysMenu.getActiveMenu()));
        this.routerName = sysMenu.getRouterName();
        setUrl(sysMenu.getUrl());
        setMenuId(sysMenu.getMenuId());
    }


}
